package com.epadmin.finanse.wydatki;

import java.math.BigDecimal;
import java.util.Date;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.Expose;

public class Wydatek {

	@Expose
	private int id;
	@Expose
	private String nazwa;
	@Expose
	private BigDecimal kwota;
	@Expose
	private Date data;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getNazwa() {
		return nazwa;
	}

	public void setNazwa(String nazwa) {
		this.nazwa = nazwa;
	}

	public BigDecimal getKwota() {
		return kwota;
	}

	public void setKwota(BigDecimal kwota) {
		this.kwota = kwota;
	}

	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	public String getAsJson() {
		GsonBuilder gsonBuilder = new GsonBuilder();
		gsonBuilder.excludeFieldsWithoutExposeAnnotation().setDateFormat("dd-MM-yyyy").create();
		Gson gson = gsonBuilder.create();

		return gson.toJson(this);
	}

	public boolean compareAndCopy(Wydatek item) {
		boolean copy = false;

		if (item == null) {
			return copy;
		}

		if (!this.getNazwa().equals(item.getNazwa())) {
			this.nazwa = item.getNazwa();
			copy = true;
		}

		if (!this.getKwota().equals(item.getKwota())) {
			this.kwota = item.getKwota();
			copy = true;
		}

		if (!this.getData().equals(item.getData())) {
			this.data = item.getData();
			copy = true;
		}

		return copy;
	}
}
